#ifndef AREACHART_H
#define AREACHART_H

#include "BasicAreaChart.h"
#include "../../gui/AreaChartGUI/AreaChartGUI.h"
#include "../adapters/qwt/AreaChart/qwtAreaChart.h"
#include "../../gui/PlotWindow/PlotWindow.h"

namespace LightChart
{
class AreaChart : public BasicAreaChart, public AreaChartGUI
{
public:
    AreaChart(QWidget* parent);
    void showOptions();
    void draw();
    std::vector<Axis*> get_axes();
private:
    friend class boost::serialization::access;
    template<class Archive> void serialize(Archive & ar, const unsigned int version);
};
template<class Archive> inline void AreaChart::serialize(Archive & ar, const unsigned int) {
    ar & boost::serialization::base_object<BasicAreaChart>(*this);
}
}
namespace boost {
namespace serialization {
template<class Archive>
inline void load_construct_data(Archive &, LightChart::AreaChart * t, const unsigned int) {
    ::new(t)LightChart::AreaChart(0); // shouldnt leak :o
}
}
}
#if BOOST_VERSION > 104200
#else
BOOST_CLASS_EXPORT(LightChart::AreaChart)
#endif
#endif // AREACHART_H
